package chapter12.section5;

/*程序12-9:拆解数据报*/
import java.io.*;
import java.net.*;

public class ParsePacket {
	public static void main(String[] args) throws IOException {
		DatagramSocket socket = new DatagramSocket(7788);
		byte[] buf = new byte[256];
		// 创建一个空的数据报，等待存放对方的消息
		DatagramPacket packet = new DatagramPacket(buf, buf.length);
		socket.receive(packet); // 程序将在此等候客户端的发送过来的数据
		buf = packet.getData(); // 接受数据到缓冲区buf[]
		InetAddress address = packet.getAddress();// 得到发数据报的机器的IP地址
		int port = packet.getPort();// 得到发出数据报的机器的端口
		String info = new String(buf, 0, buf.length);// 将报文的内容转化为字符串
		System.out.println("报文的内容是:" + info + ",报文来自:" + address + ":" + port); // 显示报文内容
	}
}